package isbc.quinielas;

import isbc.quinielas.EstadisticasEquipos;

public class EntradaClasificacion implements Comparable<EntradaClasificacion>{
	
	//private String nombre;
	private int golesFavor;
	private int golesContra;
	private int puntos;
	private EstadisticasEquipos partidosGanados;
	private EstadisticasEquipos partidosEmpatados;
	private EstadisticasEquipos partidosPerdidos;
	
	public EntradaClasificacion(){
		//this.nombre = nombre;
		this.partidosGanados = new EstadisticasEquipos(0, 0, 1);
		this.partidosEmpatados = new EstadisticasEquipos(0, 0, 1);
		this.partidosPerdidos = new EstadisticasEquipos(0, 0, 1);
	}
	/*public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}*/
	public int getGolesFavor() {
		return golesFavor;
	}
	public int getGolAverage(){
		return golesFavor - golesContra;
	}
	public void setGolesFavor(int golesFavor) {
		this.golesFavor = golesFavor;
	}
	public int getGolesContra() {
		return golesContra;
	}
	public void setGolesContra(int golesContra) {
		this.golesContra = golesContra;
	}
	public int getPuntos() {
		return puntos;
	}
	public void setPuntos(int puntos) {
		this.puntos = puntos;
	}
	public EstadisticasEquipos getPartidosGanados() {
		return partidosGanados;
	}
	public void setPartidosGanados(EstadisticasEquipos partidosGanados) {
		this.partidosGanados = partidosGanados;
	}
	public void sumarPartidoGanadoCasa(){
		this.partidosGanados.setCasa(this.partidosGanados.getCasa() + 1); 
	}
	public void sumarPartidoGanadoFuera(){
		this.partidosGanados.setFueraCasa(this.partidosGanados.getFueraCasa() + 1); 
	}
	public EstadisticasEquipos getPartidosEmpatados() {
		return partidosEmpatados;
	}
	public void setPartidosEmpatados(EstadisticasEquipos partidosEmpatados) {
		this.partidosEmpatados = partidosEmpatados;
	}
	public void sumarPartidoEmpatadoCasa(){
		this.partidosEmpatados.setCasa(this.partidosEmpatados.getCasa() + 1); 
	}
	public void sumarPartidoEmpatadoFuera(){
		this.partidosEmpatados.setFueraCasa(this.partidosEmpatados.getFueraCasa() + 1); 
	}
	public EstadisticasEquipos getPartidosPerdidos() {
		return partidosPerdidos;
	}
	public void setPartidosPerdidos(EstadisticasEquipos partidosPerdidos) {
		this.partidosPerdidos = partidosPerdidos;
	}
	public void sumarPartidoPerdidoCasa(){
		this.partidosPerdidos.setCasa(this.partidosPerdidos.getCasa() + 1); 
	}
	public void sumarPartidoPerdidoFuera(){
		this.partidosPerdidos.setFueraCasa(this.partidosPerdidos.getFueraCasa() + 1); 
	}
	public String toString(){
		return "Goles a favor: " + golesFavor + ", goles en contra: " +
				golesContra + ", puntos: " + puntos + ", partidos ganados: " + partidosGanados +
				", partidos empatados: " + partidosEmpatados + ", partidos perdidos: " + partidosPerdidos;
	}
	@Override
	public int compareTo(EntradaClasificacion arg0) {
        int comparador = -1;
	
        	comparador = -(this.getPuntos() - arg0.getPuntos());
            if( comparador == 0 ) {
                comparador = -(this.getGolAverage() - arg0.getGolAverage());
            }
            if( comparador == 0 ) {
                comparador = -(this.getGolesFavor() - arg0.getGolesFavor());
            }
/*            if( comparador == 0 ) {
                comparador = this.getNombre().compareTo(arg0.getNombre());
            }*/
        
        return comparador;
	}
}
